package com.dhcc.sds.standard.dao;

import com.baomidou.mybatisplus.plugins.Page;
import com.dhcc.core.framework.base.mapper.BaseMapper;
import com.dhcc.sds.standard.entity.SdsStandDicMatchEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 项目标准化字典
 *
 * @ClassName: SdsStandDicMatchMapper
 * @Description: TODO
 * @author zhangdc
 * @date 2023-03-14 10:09:57
 */
public interface SdsStandDicMatchMapper extends BaseMapper<SdsStandDicMatchEntity> {

    List<SdsStandDicMatchEntity> list(@Param("map") Map<String, Object> map);
    List<SdsStandDicMatchEntity> page(@Param("page") Page<SdsStandDicMatchEntity> page, @Param("map")Map<String, Object> map);

    List<Long> selectMatchOrderIds(@Param("map") Map<String, Object> params);

    List<Long> selectMatchLabIds(@Param("map") Map<String, Object> params);

    List<String> selectEmrSubTitle(@Param("map") Map<String, Object> params);

    List<String> selectExcludeMatchEmrSubTitle(@Param("map") Map<String, Object> params);

    void insertBatch(@Param("standDicMatchEntities") List<SdsStandDicMatchEntity> standDicMatchEntities);

    List<String> compareEmrByRegexp(@Param("filterTxt") String filterTxt, @Param("keywordAndTxt") String keywordAndTxt, @Param("keywordOrTxt") String keywordOrTxt);

    List<Long> compareOrderByRegexp(@Param("kfilterTxt")String kfilterTxt, @Param("cfilterTxt")String cfilterTxt, @Param("kwordAndTxt")String kwordAndTxt,
                                    @Param("cwordAndTxt")String cwordAndTxt, @Param("kwordOrTxt")String kwordOrTxt, @Param("cwordOrTxt")String cwordOrTxt, @Param("busOrderCateId")Long busOrderCateId);

    List<Long> compareLabItemByRegexp(@Param("kfilterTxt") String kfilterTxt, @Param("kwordAndTxt") String kwordAndTxt, @Param("kwordOrTxt") String kwordOrTxt);

    List<Long> compareLabOrdByRegexp(@Param("kfilterTxt") String kfilterTxt, @Param("kwordAndTxt") String kwordAndTxt, @Param("kwordOrTxt") String kwordOrTxt);

    List<Long> selectMatchOrderId(@Param("dicId") Long dicId);
}
